//package com.trt.usercenter.rocketmq;
//
//import com.trt.usercenter.dao.user.BonusEventLogMapper;
//import com.trt.usercenter.dao.user.UserMapper;
//import com.trt.usercenter.domain.dto.messaging.UserAddBonusMsgDTO;
//import com.trt.usercenter.domain.entity.user.BonusEventLog;
//import com.trt.usercenter.domain.entity.user.User;
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
//import org.apache.rocketmq.spring.core.RocketMQListener;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import java.util.Date;
//
///**
// * @Authror 谭仁涛
// * @Description
// * @Date 2021/3/23 22:32
// */
//@Service
//@RocketMQMessageListener(consumerGroup = "consumer-group", topic = "add-bonus")
//@RequiredArgsConstructor(onConstructor = @__(@Autowired))
//@Slf4j
//public class AddBonusListener implements RocketMQListener<UserAddBonusMsgDTO> {
//
//    private final UserMapper userMapper;
//    private final BonusEventLogMapper bonusEventLogMapper;
//
//    @Override
//    public void onMessage(UserAddBonusMsgDTO userAddBonusMsgDTO) {
//        // 1.为用户加积分
//        Integer userId = userAddBonusMsgDTO.getUserId();
//        Integer bonus = userAddBonusMsgDTO.getBonus();
//        User user = this.userMapper.selectByPrimaryKey(userId);
//
//        user.setBonus(user.getBonus() + bonus);
//        this.userMapper.updateByPrimaryKeySelective(user);
//
//        // 记录日志到bonus_event_log表里面
//        this.bonusEventLogMapper.insert(
//            BonusEventLog.builder()
//                .userId(userId)
//                .value(bonus)
//                .event("CONTRIBUTE")
//                .createTime(new Date())
//                .description("投稿加积分...")
//                .build()
//        );
//        log.info("积分添加完毕...");
//
//    }
//}
